问题描述
十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。
--------------------------------------------------------------------------------------
给出一个非负整数,将它表示成十六进制的形式。
给出一个非负整数,将它表示成十六进制的形式。
--------------------------------------------------------------------------------------
输入格式
输入包含一个非负整数a,表示要转换的数。0<=a<=2147483647
输出格式
输出这个整数的16进制表示
--------------------------------------------------------------------------------------
样例输入
30
样例输出
1E
--------------------------------------------------------------------------------------
这道题值需要调用toHexString()函数就可以把10进制数转换为16进制数
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
String s = Integer.toHexString(n);
System.out.println(s);
}
}
但是如果这样写的话 你就会发现 系统只会给45分 五道题正确 别的都会显示运行错误
按照上面的代码 如果输入30 输出的是1e 输出的字母的默认的小写的
所以我们还需要调用一个函数toUpperCase() 将所有小写字母转换成大写字母 扩展一下toLowerCase()就是将字母转换成小写字母
后面还会有一道题是输入一串字母 有大写有小写,分别将大写字母转换成小写字母,小写字母转换成大写字母,然后输出。在之后我博文中
我会写到。
先看这道题的代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
String s = Integer.toHexString(n);
System.out.println(s.toUpperCase());
}
}
java中有很多类 类中又有很多函数 学习要注重积累和拓展 记住一些常用的函数还是很有用的